package com.zapi.lottery.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zapi.lottery.entity.LotteryWinningNumber;

import java.util.List;

/**
 * 中奖号码配置Service接口
 * @author: zhonglz
 * @DATE: 2024-06-09
 */
public interface LotteryWinningNumberService extends IService<LotteryWinningNumber> {

    /**
     * 根据奖项设置ID查询中奖号码列表
     * @param settingId 奖项设置ID
     * @return 中奖号码列表
     */
    List<LotteryWinningNumber> getBySettingId(Integer settingId);

    /**
     * 根据中奖号码查询配置
     * @param winningNumber 中奖号码
     * @return 中奖号码配置
     */
    LotteryWinningNumber getByWinningNumber(String winningNumber);

    /**
     * 根据奖项设置ID和状态查询中奖号码列表
     * @param settingId 奖项设置ID
     * @param status 状态
     * @return 中奖号码列表
     */
    List<LotteryWinningNumber> getBySettingIdAndStatus(Integer settingId, Integer status);

    /**
     * 批量保存中奖号码配置
     * @param settingId 奖项设置ID
     * @param winningNumbers 中奖号码列表
     * @return 是否成功
     */
    boolean batchSaveWinningNumbers(Integer settingId, List<String> winningNumbers);

    /**
     * 检查中奖号码是否已存在
     * @param winningNumber 中奖号码
     * @return 是否存在
     */
    boolean isWinningNumberExists(String winningNumber);

    /**
     * 获取所有启用的中奖号码
     * @return 中奖号码列表
     */
    List<LotteryWinningNumber> getAllEnabledWinningNumbers();
} 